package Modelo;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
public class Seccion { 
	
	
    private int NroSeccion;
    public Profesor Profesor=new Profesor();
    private Vector<Estudiante> estudiante= new Vector<Estudiante>();
    BufferedReader lector = new BufferedReader(new InputStreamReader(System.in));
    
public void registrarSeccion(int NroSec)throws IOException {	
setNroSeccion(NroSec);	 
};

public void asignarProfesor(Profesor Prof) throws IOException{   
setProfesor(Prof);
};

public void inscribirEstudiante(Estudiante estudiant)throws IOException {
	estudiante.add(estudiant);		
};

public boolean buscar(int Cedula){
	Estudiante estud;
boolean encontrado=false;
for(int i=0;i<estudiante.size();i++){
   estud= estudiante.elementAt(i);
   int cedula=estud.getCedula();
   if(estud.getCedula()==(Cedula)){
      encontrado=true;
	  break;
		                 }
		                        }
return encontrado;
};
public int buscarPosicion(int Cedula){
int pos;
Estudiante estudian;
for(pos=0;pos<estudiante.size();pos++){
	estudian= estudiante.elementAt(pos);
   int ced=estudian.getCedula();
      if(estudian.getCedula()==(Cedula)){
	     break;
		                     }
		                           }
return pos;
};
public void retirarEstudiante(int posicion) throws IOException{
estudiante.removeElementAt(posicion);
};
public Estudiante obtenerEstudiante(int Cedula) throws IOException{
Estudiante estud=new Estudiante();
for(int i=0;i<estudiante.size();i++){
   estud= estudiante.elementAt(i);
   int ced=estud.getCedula();
   if(estud.getCedula()==(Cedula)){
      break;
		                 }
		                         }
return estud;
};
public void aplicarEvaluaciones(Vector<Estudiante> estudiantes){
	Estudiante estud;
for(int i=0;i< estudiantes.size();i++){
   estud= estudiantes.elementAt(i);
   estud.presentarEstudiante();	
		                         }
for(int i=0;i< estudiantes.size();i++){
  estud= estudiantes.elementAt(i);
   Profesor.evaluarEstudiante(estud);	
		}		
	}; 	

	
public int compare(Object o1, Object o2) {
return o1.toString().compareTo(o2.toString());
}
public  Vector<Estudiante> ordenarEstudiantesCedula(){
	Estudiante Estudiante1;
	Estudiante Estudiante2;
int ced1,ced2;
int resp;
for(int i=0;i<estudiante.size();i++){
   Estudiante1=estudiante.elementAt(i);
   ced1=Estudiante1.getCedula();
   for(int k=i+1;k < estudiante.size();k++){
      Estudiante2=estudiante.elementAt(k);
	  ced2=Estudiante2.getCedula();
	  resp=compare(ced1,ced2);
	  if(resp > 0){
	     estudiante.setElementAt(Estudiante2,i);
		 estudiante.setElementAt(Estudiante1,k);
		 Estudiante1=estudiante.elementAt(i);
		 ced1=Estudiante1.getCedula();
				  }
			                            }
		                         }
return estudiante;		
	};
public Vector<Estudiante>  ordenarEstudiantesNotaF(Vector<Estudiante> estudiantes){
	Estudiante Estudiante1=new Estudiante();	
	Estudiante Estudiante2=new Estudiante();
double nota1,nota2;
for(int i=0;i<estudiante.size();i++){
   Estudiante1=estudiante.elementAt(i);
   nota1=Estudiante1.getNotaFinal();
   for(int k=i+1;k < estudiante.size();k++){
      Estudiante2= estudiante.elementAt(k);
	  nota2=Estudiante2.getNotaFinal();
	  if(nota2 > nota1){
	     estudiante.setElementAt(Estudiante2,i);
		 estudiante.setElementAt(Estudiante1,k);
		 Estudiante1=estudiante.elementAt(i);
		 nota1=Estudiante1.getNotaFinal();
			            }		
	                                    }
	                              }
return estudiante;
};	
public Vector<Estudiante> estudiantesAprobados(Vector<Estudiante> estudiantes) throws FileNotFoundException{
Vector<Estudiante> aprobados= new Vector<Estudiante>();
Estudiante estudiante;
int est;
for(int k=0;k < estudiantes.size();k++){
	estudiante= estudiantes.elementAt(k);
    est=estudiante.getEstado();
   if(est==1)
      aprobados.add(estudiante);
	                               }
return aprobados;
};
public Vector<Estudiante> estudiantesAplazados(Vector<Estudiante> estudiantes) throws FileNotFoundException{
Vector<Estudiante> reprobados=new Vector<Estudiante>();
Estudiante estudiante;
int est;
for(int k=0;k < estudiantes.size();k++){
	 estudiante= estudiantes.elementAt(k);
   est=estudiante.getEstado();
   if(est==0)
      reprobados.add( estudiante);
	                               }
return reprobados;	
};


public double promedioNotas(Vector<Estudiante> estudiantes){
double Promedio=0,acu=0;
Estudiante Estudiante=new Estudiante();
for(int k=0;k < estudiantes.size();k++){
   Estudiante=estudiantes.elementAt(k);
   acu = acu + Estudiante.getNotaFinal();
	                               }
Promedio=acu/estudiante.size();
return Promedio;	
};	
public int getNroSeccion() {
return NroSeccion;
}
public void setNroSeccion(int nroSeccion) {
NroSeccion = nroSeccion;
}
public Profesor getProfesor() {
return Profesor;
}
public void setProfesor(Profesor profesor) {
Profesor = profesor;
}
public Vector<Estudiante> getestudiante() {
return estudiante;
}
public void setestudiante(Vector<Estudiante> estudiante) {
estudiante = estudiante;
}
}